home *** CD-ROM | disk | FTP | other *** search
/ Macwelt 4 / Macwelt DVD 4.cdr / Entwickler / Mac-OS X / Pantomime / Source / parsarpdat.c < prev    next >
MacBinary  |  2001-11-21  |  7.4 KB  |  [□□□□/□□□□]

open in: MacOS 8.1     |     Win98     |     DOS

browse contents    |     view JSON data     |     view as text


This file was processed as: MacBinary (archive/macBinary).

ConfidenceProgramDetectionMatch TypeSupport
66% dexvert Compact Compressed (Unix) (archive/compact) ext Supported
1% dexvert MacBinary (archive/macBinary) fallback Supported
100% file MacBinary II, inited, Wed Nov 21 12:25:34 2001, modified Wed Nov 21 12:25:34 2001, 6946 bytes "parsarpdat.c" , at 0x1ba2 286 bytes resource default (weak)
99% file data default
100% TrID MacBinary 2 default (weak)
100% dearkID deark: macbinary default
100% siegfried fmt/1762 MacBinary (II) default
100% lsar MacBinary default


id metadata
keyvalue
macFileType[□□□□]
macFileCreator[□□□□]



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 0c 70 61 72 73 61 72 | 70 64 61 74 2e 63 00 00 |..parsar|pdat.c..|
|00000010| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 00 00 00 00 00 00 00 | 00 01 00 00 00 00 00 00 |........|........|
|00000050| 00 00 00 00 00 1b 22 00 | 00 01 1e b8 21 94 0e b8 |......".|....!...|
|00000060| 21 94 0e 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |!.......|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 bd 98 00 00 |........|........|
|00000080| 2f 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |/*******|********|
|00000090| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000000a0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000000b0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000000c0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000000d0| 0a 20 2a 20 20 54 68 65 | 20 45 6c 6d 20 4d 61 69 |. * The| Elm Mai|
|000000e0| 6c 20 53 79 73 74 65 6d | 20 20 2d 20 20 24 52 65 |l System| - $Re|
|000000f0| 76 69 73 69 6f 6e 3a 20 | 31 2e 31 2e 31 2e 31 20 |vision: |1.1.1.1 |
|00000100| 24 20 20 20 24 53 74 61 | 74 65 3a 20 45 78 70 20 |$ $Sta|te: Exp |
|00000110| 24 0a 20 2a 0a 20 2a 20 | 20 20 20 20 20 20 20 20 |$. *. * | |
|00000120| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 43 6f 70 | | Cop|
|00000130| 79 72 69 67 68 74 20 28 | 63 29 20 31 39 38 38 2d |yright (|c) 1988-|
|00000140| 31 39 39 35 20 55 53 45 | 4e 45 54 20 43 6f 6d 6d |1995 USE|NET Comm|
|00000150| 75 6e 69 74 79 20 54 72 | 75 73 74 0a 20 2a 2a 2a |unity Tr|ust. ***|
|00000160| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000170| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000180| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000190| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|000001a0| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 0a 20 2a 20 |********|****. * |
|000001b0| 42 75 67 20 72 65 70 6f | 72 74 73 2c 20 70 61 74 |Bug repo|rts, pat|
|000001c0| 63 68 65 73 2c 20 63 6f | 6d 6d 65 6e 74 73 2c 20 |ches, co|mments, |
|000001d0| 73 75 67 67 65 73 74 69 | 6f 6e 73 20 73 68 6f 75 |suggesti|ons shou|
|000001e0| 6c 64 20 62 65 20 73 65 | 6e 74 20 74 6f 3a 0a 20 |ld be se|nt to:. |
|000001f0| 2a 0a 20 2a 20 20 20 20 | 20 20 42 69 6c 6c 20 50 |*. * | Bill P|
|00000200| 65 6d 62 65 72 74 6f 6e | 2c 20 45 6c 6d 20 43 6f |emberton|, Elm Co|
|00000210| 6f 72 64 69 6e 61 74 6f | 72 0a 20 2a 20 20 20 20 |ordinato|r. * |
|00000220| 20 20 66 6c 61 73 68 40 | 76 69 72 67 69 6e 69 61 | flash@|virginia|
|00000230| 2e 65 64 75 0a 20 2a 0a | 20 2a 2a 2a 2a 2a 2a 2a |.edu. *.| *******|
|00000240| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000250| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000260| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000270| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000280| 2a 2a 2a 2a 2a 2a 2a 2a | 0a 20 2a 20 24 4c 6f 67 |********|. * $Log|
|00000290| 3a 20 70 61 72 73 61 72 | 70 64 61 74 2e 63 2c 76 |: parsar|pdat.c,v|
|000002a0| 20 24 0a 20 2a 20 52 65 | 76 69 73 69 6f 6e 20 31 | $. * Re|vision 1|
|000002b0| 2e 31 2e 31 2e 31 20 20 | 32 30 30 31 2f 31 31 2f |.1.1.1 |2001/11/|
|000002c0| 32 31 20 31 38 3a 32 35 | 3a 33 34 20 20 6c 75 64 |21 18:25|:34 lud|
|000002d0| 6f 0a 20 2a 20 49 6d 70 | 6f 72 74 65 64 20 53 6f |o. * Imp|orted So|
|000002e0| 75 72 63 65 73 0a 20 2a | 0a 20 2a 20 52 65 76 69 |urces. *|. * Revi|
|000002f0| 73 69 6f 6e 20 31 2e 31 | 2e 31 2e 31 20 20 32 30 |sion 1.1|.1.1 20|
|00000300| 30 31 2f 30 39 2f 32 38 | 20 31 33 3a 30 36 3a 35 |01/09/28| 13:06:5|
|00000310| 36 20 20 6c 75 64 6f 0a | 20 2a 20 49 6d 70 6f 72 |6 ludo.| * Impor|
|00000320| 74 20 6f 66 20 73 6f 75 | 72 63 65 73 0a 20 2a 0a |t of sou|rces. *.|
|00000330| 20 2a 20 52 65 76 69 73 | 69 6f 6e 20 31 2e 31 2e | * Revis|ion 1.1.|
|00000340| 31 2e 31 20 20 32 30 30 | 31 2f 30 37 2f 32 38 20 |1.1 200|1/07/28 |
|00000350| 30 30 3a 30 36 3a 33 35 | 20 20 6c 75 64 6f 76 69 |00:06:35| ludovi|
|00000360| 63 0a 20 2a 20 49 6d 70 | 6f 72 74 65 64 20 53 6f |c. * Imp|orted So|
|00000370| 75 72 63 65 73 0a 20 2a | 0a 20 2a 20 52 65 76 69 |urces. *|. * Revi|
|00000380| 73 69 6f 6e 20 31 2e 32 | 20 20 31 39 39 35 2f 30 |sion 1.2| 1995/0|
|00000390| 39 2f 32 39 20 20 31 37 | 3a 34 31 3a 32 34 20 20 |9/29 17|:41:24 |
|000003a0| 77 66 70 35 70 0a 20 2a | 20 41 6c 70 68 61 20 38 |wfp5p. *| Alpha 8|
|000003b0| 20 28 43 68 69 70 27 73 | 20 62 69 67 20 63 68 61 | (Chip's| big cha|
|000003c0| 6e 67 65 73 29 0a 20 2a | 0a 20 2a 20 52 65 76 69 |nges). *|. * Revi|
|000003d0| 73 69 6f 6e 20 31 2e 31 | 2e 31 2e 31 20 20 31 39 |sion 1.1|.1.1 19|
|000003e0| 39 35 2f 30 34 2f 31 39 | 20 20 32 30 3a 33 38 3a |95/04/19| 20:38:|
|000003f0| 33 33 20 20 77 66 70 35 | 70 0a 20 2a 20 49 6e 69 |33 wfp5|p. * Ini|
|00000400| 74 69 61 6c 20 69 6d 70 | 6f 72 74 20 6f 66 20 65 |tial imp|ort of e|
|00000410| 6c 6d 20 32 2e 34 20 50 | 4c 30 20 61 73 20 62 61 |lm 2.4 P|L0 as ba|
|00000420| 73 65 20 66 6f 72 20 65 | 6c 6d 20 32 2e 35 2e 0a |se for e|lm 2.5..|
|00000430| 20 2a 0a 20 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a | *. ****|********|
|00000440| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000450| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000460| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000470| 2a 2a 2a 2a 2a 2a 2a 2a | 2a 2a 2a 2a 2a 2a 2a 2a |********|********|
|00000480| 2a 2a 2f 0a 0a 0a 23 69 | 6e 63 6c 75 64 65 20 3c |**/...#i|nclude <|
|00000490| 50 61 6e 74 6f 6d 69 6d | 65 2f 65 6c 6d 5f 64 65 |Pantomim|e/elm_de|
|000004a0| 66 73 2e 68 3e 0a 0a 0a | 2f 2a 0a 0a 51 75 6f 74 |fs.h>...|/*..Quot|
|000004b0| 69 6e 67 20 66 72 6f 6d | 20 52 46 43 20 38 32 32 |ing from| RFC 822|
|000004c0| 3a 0a 20 20 20 20 20 35 | 2e 20 20 44 41 54 45 20 |:. 5|. DATE |
|000004d0| 41 4e 44 20 54 49 4d 45 | 20 53 50 45 43 49 46 49 |AND TIME| SPECIFI|
|000004e0| 43 41 54 49 4f 4e 0a 0a | 20 20 20 20 20 35 2e 31 |CATION..| 5.1|
|000004f0| 2e 20 20 53 59 4e 54 41 | 58 0a 0a 20 20 20 20 20 |. SYNTA|X.. |
|00000500| 64 61 74 65 2d 74 69 6d | 65 20 20 20 3d 20 20 5b |date-tim|e = [|
|00000510| 20 64 61 79 20 22 2c 22 | 20 5d 20 64 61 74 65 20 | day ","| ] date |
|00000520| 74 69 6d 65 20 20 20 20 | 20 20 20 20 3b 20 64 64 |time | ; dd|
|00000530| 20 6d 6d 20 79 79 0a 09 | 09 09 09 09 09 20 3b 20 | mm yy..|..... ; |
|00000540| 20 68 68 3a 6d 6d 3a 73 | 73 20 7a 7a 7a 0a 0a 20 | hh:mm:s|s zzz.. |
|00000550| 20 20 20 20 64 61 79 20 | 20 20 20 20 20 20 20 20 | day | |
|00000560| 3d 20 20 22 4d 6f 6e 22 | 20 20 2f 20 22 54 75 65 |= "Mon"| / "Tue|
|00000570| 22 20 2f 20 20 22 57 65 | 64 22 20 20 2f 20 22 54 |" / "We|d" / "T|
|00000580| 68 75 22 0a 09 09 20 2f | 20 20 22 46 72 69 22 20 |hu"... /| "Fri" |
|00000590| 20 2f 20 22 53 61 74 22 | 20 2f 20 20 22 53 75 6e | / "Sat"| / "Sun|
|000005a0| 22 0a 0a 20 20 20 20 20 | 64 61 74 65 20 20 20 20 |".. |date |
|000005b0| 20 20 20 20 3d 20 20 31 | 2a 32 44 49 47 49 54 20 | = 1|*2DIGIT |
|000005c0| 6d 6f 6e 74 68 20 32 44 | 49 47 49 54 20 20 20 20 |month 2D|IGIT |
|000005d0| 20 20 20 20 3b 20 64 61 | 79 20 6d 6f 6e 74 68 20 | ; da|y month |
|000005e0| 79 65 61 72 0a 09 09 09 | 09 09 09 20 3b 20 20 65 |year....|... ; e|
|000005f0| 2e 67 2e 20 32 30 20 4a | 75 6e 20 38 32 0a 0a 20 |.g. 20 J|un 82.. |
|00000600| 20 20 20 20 6d 6f 6e 74 | 68 20 20 20 20 20 20 20 | mont|h |
|00000610| 3d 20 20 22 4a 61 6e 22 | 20 20 2f 20 20 22 46 65 |= "Jan"| / "Fe|
|00000620| 62 22 20 2f 20 20 22 4d | 61 72 22 20 20 2f 20 20 |b" / "M|ar" / |
|00000630| 22 41 70 72 22 0a 09 09 | 20 2f 20 20 22 4d 61 79 |"Apr"...| / "May|
|00000640| 22 20 20 2f 20 20 22 4a | 75 6e 22 20 2f 20 20 22 |" / "J|un" / "|
|00000650| 4a 75 6c 22 20 20 2f 20 | 20 22 41 75 67 22 0a 09 |Jul" / | "Aug"..|
|00000660| 09 20 2f 20 20 22 53 65 | 70 22 20 20 2f 20 20 22 |. / "Se|p" / "|
|00000670| 4f 63 74 22 20 2f 20 20 | 22 4e 6f 76 22 20 20 2f |Oct" / |"Nov" /|
|00000680| 20 20 22 44 65 63 22 0a | 0a 20 20 20 20 20 74 69 | "Dec".|. ti|
|00000690| 6d 65 20 20 20 20 20 20 | 20 20 3d 20 20 68 6f 75 |me | = hou|
|000006a0| 72 20 7a 6f 6e 65 20 20 | 20 20 20 20 20 20 20 20 |r zone | |
|000006b0| 20 20 20 20 20 20 20 20 | 20 20 3b 20 41 4e 53 49 | | ; ANSI|
|000006c0| 20 61 6e 64 20 4d 69 6c | 69 74 61 72 79 0a 0a 20 | and Mil|itary.. |
|000006d0| 20 20 20 20 68 6f 75 72 | 20 20 20 20 20 20 20 20 | hour| |
|000006e0| 3d 20 20 32 44 49 47 49 | 54 20 22 3a 22 20 32 44 |= 2DIGI|T ":" 2D|
|000006f0| 49 47 49 54 20 5b 22 3a | 22 20 32 44 49 47 49 54 |IGIT [":|" 2DIGIT|
|00000700| 5d 0a 09 09 09 09 09 09 | 20 3b 20 30 30 3a 30 30 |].......| ; 00:00|
|00000710| 3a 30 30 20 2d 20 32 33 | 3a 35 39 3a 35 39 0a 0a |:00 - 23|:59:59..|
|00000720| 20 20 20 20 20 7a 6f 6e | 65 20 20 20 20 20 20 20 | zon|e |
|00000730| 20 3d 20 20 22 55 54 22 | 20 20 2f 20 22 47 4d 54 | = "UT"| / "GMT|
|00000740| 22 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |" | |
|00000750| 20 3b 20 55 6e 69 76 65 | 72 73 61 6c 20 54 69 6d | ; Unive|rsal Tim|
|00000760| 65 0a 09 09 09 09 09 09 | 20 3b 20 4e 6f 72 74 68 |e.......| ; North|
|00000770| 20 41 6d 65 72 69 63 61 | 6e 20 3a 20 55 54 0a 09 | America|n : UT..|
|00000780| 09 20 2f 20 20 22 45 53 | 54 22 20 2f 20 22 45 44 |. / "ES|T" / "ED|
|00000790| 54 22 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |T" | |
|000007a0| 20 20 3b 20 20 45 61 73 | 74 65 72 6e 3a 20 20 2d | ; Eas|tern: -|
|000007b0| 20 35 2f 20 2d 20 34 0a | 09 09 20 2f 20 20 22 43 | 5/ - 4.|.. / "C|
|000007c0| 53 54 22 20 2f 20 22 43 | 44 54 22 20 20 20 20 20 |ST" / "C|DT" |
|000007d0| 20 20 20 20 20 20 20 20 | 20 20 20 3b 20 20 43 65 | | ; Ce|
|000007e0| 6e 74 72 61 6c 3a 20 20 | 2d 20 36 2f 20 2d 20 35 |ntral: |- 6/ - 5|
|000007f0| 0a 09 09 20 2f 20 20 22 | 4d 53 54 22 20 2f 20 22 |... / "|MST" / "|
|00000800| 4d 44 54 22 20 20 20 20 | 20 20 20 20 20 20 20 20 |MDT" | |
|00000810| 20 20 20 20 3b 20 20 4d | 6f 75 6e 74 61 69 6e 3a | ; M|ountain:|
|00000820| 20 2d 20 37 2f 20 2d 20 | 36 0a 09 09 20 2f 20 20 | - 7/ - |6... / |
|00000830| 22 50 53 54 22 20 2f 20 | 22 50 44 54 22 20 20 20 |"PST" / |"PDT" |
|00000840| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 3b 20 20 | | ; |
|00000850| 50 61 63 69 66 69 63 3a | 20 20 2d 20 38 2f 20 2d |Pacific:| - 8/ -|
|00000860| 20 37 0a 09 09 20 2f 20 | 20 31 41 4c 50 48 41 20 | 7... / | 1ALPHA |
|00000870| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000880| 20 20 20 20 20 20 3b 20 | 4d 69 6c 69 74 61 72 79 | ; |Military|
|00000890| 3a 20 5a 20 3d 20 55 54 | 3b 0a 09 09 09 09 09 09 |: Z = UT|;.......|
|000008a0| 20 3b 20 20 41 3a 2d 31 | 3b 20 28 4a 20 6e 6f 74 | ; A:-1|; (J not|
|000008b0| 20 75 73 65 64 29 0a 09 | 09 09 09 09 09 20 3b 20 | used)..|..... ; |
|000008c0| 20 4d 3a 2d 31 32 3b 20 | 4e 3a 2b 31 3b 20 59 3a | M:-12; |N:+1; Y:|
|000008d0| 2b 31 32 0a 09 09 20 2f | 20 28 20 28 22 2b 22 20 |+12... /| ( ("+" |
|000008e0| 2f 20 22 2d 22 29 20 34 | 44 49 47 49 54 20 29 20 |/ "-") 4|DIGIT ) |
|000008f0| 20 20 20 20 20 20 20 3b | 20 4c 6f 63 61 6c 20 64 | ;| Local d|
|00000900| 69 66 66 65 72 65 6e 74 | 69 61 6c 0a 09 09 09 09 |ifferent|ial.....|
|00000910| 09 09 20 3b 20 20 68 6f | 75 72 73 2b 6d 69 6e 2e |.. ; ho|urs+min.|
|00000920| 20 28 48 48 4d 4d 29 0a | 2a 2f 0a 0a 0a 69 6e 74 | (HHMM).|*/...int|
|00000930| 20 70 61 72 73 65 5f 61 | 72 70 61 5f 64 61 74 65 | parse_a|rpa_date|
|00000940| 28 64 61 74 65 73 74 72 | 2c 20 65 6e 74 72 79 29 |(datestr|, entry)|
|00000950| 0a 63 6f 6e 73 74 20 63 | 68 61 72 20 2a 64 61 74 |.const c|har *dat|
|00000960| 65 73 74 72 3b 0a 73 74 | 72 75 63 74 20 68 65 61 |estr;.st|ruct hea|
|00000970| 64 65 72 5f 72 65 63 20 | 2a 65 6e 74 72 79 3b 0a |der_rec |*entry;.|
|00000980| 7b 0a 20 20 20 20 2f 2a | 0a 20 20 20 20 20 2a 20 |{. /*|. * |
|00000990| 50 61 72 73 65 20 61 20 | 64 61 74 65 20 66 69 65 |Parse a |date fie|
|000009a0| 6c 64 20 69 6e 20 65 69 | 74 68 65 72 20 52 46 43 |ld in ei|ther RFC|
|000009b0| 2d 38 32 32 20 6f 72 20 | 55 6e 69 78 20 64 61 74 |-822 or |Unix dat|
|000009c0| 65 28 31 29 20 66 6f 72 | 6d 61 74 2e 0a 20 20 20 |e(1) for|mat.. |
|000009d0| 20 20 2a 20 57 65 20 77 | 69 6c 6c 20 66 69 6c 6c | * We w|ill fill|
|000009e0| 20 69 6e 20 74 68 65 20 | 22 74 69 6d 65 5f 7a 6f | in the |"time_zo|
|000009f0| 6e 65 22 2c 20 22 74 7a | 5f 6f 66 66 73 65 74 22 |ne", "tz|_offset"|
|00000a00| 2c 20 61 6e 64 20 22 74 | 69 6d 65 5f 73 65 6e 74 |, and "t|ime_sent|
|00000a10| 22 0a 20 20 20 20 20 2a | 20 70 61 72 74 73 20 6f |". *| parts o|
|00000a20| 66 20 74 68 65 20 22 65 | 6e 74 72 79 22 20 73 74 |f the "e|ntry" st|
|00000a30| 72 75 63 74 75 72 65 2e | 20 20 52 65 74 75 72 6e |ructure.| Return|
|00000a40| 20 54 52 55 45 20 6f 6e | 20 73 75 63 63 65 73 73 | TRUE on| success|
|00000a50| 2c 20 46 41 4c 53 45 0a | 20 20 20 20 20 2a 20 6f |, FALSE.| * o|
|00000a60| 6e 20 66 61 69 6c 75 72 | 65 2e 0a 20 20 20 20 20 |n failur|e.. |
|00000a70| 2a 2f 0a 0a 20 20 20 20 | 63 68 61 72 20 66 69 65 |*/.. |char fie|
|00000a80| 6c 64 5b 53 54 52 49 4e | 47 5d 2c 20 73 61 76 65 |ld[STRIN|G], save|
|00000a90| 5f 74 7a 5b 53 54 52 49 | 4e 47 5d 2c 20 2a 73 74 |_tz[STRI|NG], *st|
|00000aa0| 72 3b 0a 20 20 20 20 69 | 6e 74 20 6d 6f 6e 74 68 |r;. i|nt month|
|00000ab0| 2c 20 64 61 79 2c 20 79 | 65 61 72 2c 20 68 6f 75 |, day, y|ear, hou|
|00000ac0| 72 73 2c 20 6d 69 6e 73 | 2c 20 73 65 63 73 2c 20 |rs, mins|, secs, |
|00000ad0| 74 7a 2c 20 6c 65 6e 2c | 20 69 3b 0a 0a 20 20 20 |tz, len,| i;.. |
|00000ae0| 20 2f 2a 0a 20 20 20 20 | 20 2a 20 53 69 6e 63 65 | /*. | * Since|
|00000af0| 20 74 68 69 73 20 69 73 | 20 61 6e 20 52 46 43 2d | this is| an RFC-|
|00000b00| 38 32 32 20 66 69 65 6c | 64 2c 20 74 68 65 72 65 |822 fiel|d, there|
|00000b10| 20 6d 69 67 68 74 20 62 | 65 20 70 61 72 65 6e 74 | might b|e parent|
|00000b20| 68 65 74 69 63 61 6c 0a | 20 20 20 20 20 2a 20 63 |hetical.| * c|
|00000b30| 6f 6d 6d 65 6e 74 73 2e | 20 20 59 61 6e 6b 20 74 |omments.| Yank t|
|00000b40| 68 65 6d 20 6f 75 74 2e | 20 20 4e 6f 74 65 20 74 |hem out.| Note t|
|00000b50| 68 61 74 20 73 74 72 69 | 70 5f 70 61 72 65 6e 73 |hat stri|p_parens|
|00000b60| 28 29 20 72 65 74 75 72 | 6e 73 0a 20 20 20 20 20 |() retur|ns. |
|00000b70| 2a 20 61 20 70 6f 69 6e | 74 65 72 20 74 6f 20 73 |* a poin|ter to s|
|00000b80| 74 61 74 69 63 20 64 61 | 74 61 2e 0a 20 20 20 20 |tatic da|ta.. |
|00000b90| 20 2a 2f 0a 20 20 20 20 | 73 74 72 20 3d 20 73 74 | */. |str = st|
|00000ba0| 72 69 70 5f 70 61 72 65 | 6e 73 28 64 61 74 65 73 |rip_pare|ns(dates|
|00000bb0| 74 72 29 3b 0a 0a 20 20 | 20 20 2f 2a 0a 20 20 20 |tr);.. | /*. |
|00000bc0| 20 20 2a 20 54 68 65 20 | 66 69 72 73 74 20 66 69 | * The |first fi|
|00000bd0| 65 6c 64 20 69 73 20 61 | 6e 20 6f 70 74 69 6f 6e |eld is a|n option|
|00000be0| 61 6c 20 64 61 79 20 6f | 66 20 74 68 65 20 77 65 |al day o|f the we|
|00000bf0| 65 6b 2e 20 20 49 66 20 | 69 74 20 65 78 69 73 74 |ek. If |it exist|
|00000c00| 73 0a 20 20 20 20 20 2a | 20 69 74 20 69 73 20 73 |s. *| it is s|
|00000c10| 75 70 70 6f 73 65 64 20 | 74 6f 20 68 61 76 65 20 |upposed |to have |
|00000c20| 61 20 74 72 61 69 6c 69 | 6e 67 20 63 6f 6d 6d 61 |a traili|ng comma|
|00000c30| 20 62 79 20 52 46 43 2d | 38 32 32 2c 20 62 75 74 | by RFC-|822, but|
|00000c40| 20 77 65 20 77 6f 6e 27 | 74 0a 20 20 20 20 20 2a | we won'|t. *|
|00000c50| 20 63 6f 6d 70 6c 61 69 | 6e 20 69 66 20 69 74 20 | complai|n if it |
|00000c60| 64 6f 65 73 6e 27 74 2e | 20 20 49 66 20 74 68 65 |doesn't.| If the|
|00000c70| 20 64 61 74 65 20 73 74 | 72 69 6e 67 20 77 61 73 | date st|ring was|
|00000c80| 20 67 65 6e 65 72 61 74 | 65 64 20 62 79 0a 20 20 | generat|ed by. |
|00000c90| 20 20 20 2a 20 74 68 65 | 20 55 6e 69 78 20 64 61 | * the| Unix da|
|00000ca0| 74 65 28 31 29 20 63 6f | 6d 6d 61 6e 64 20 74 68 |te(1) co|mmand th|
|00000cb0| 65 6e 20 69 74 20 77 6f | 6e 27 74 20 68 61 76 65 |en it wo|n't have|
|00000cc0| 20 74 68 65 20 63 6f 6d | 6d 61 2e 20 20 57 65 20 | the com|ma. We |
|00000cd0| 64 6f 6e 27 74 0a 20 20 | 20 20 20 2a 20 64 6f 20 |don't. | * do |
|00000ce0| 61 6e 79 74 68 69 6e 67 | 20 77 69 74 68 20 74 68 |anything| with th|
|00000cf0| 69 73 20 69 6e 66 6f 72 | 6d 61 74 69 6f 6e 2c 20 |is infor|mation, |
|00000d00| 6a 75 73 74 20 73 6b 69 | 70 20 6f 76 65 72 20 69 |just ski|p over i|
|00000d10| 74 20 69 66 20 69 74 20 | 65 78 69 73 74 73 2e 0a |t if it |exists..|
|00000d20| 20 20 20 20 20 2a 2f 0a | 20 20 20 20 69 66 20 28 | */.| if (|
|00000d30| 28 6c 65 6e 20 3d 20 67 | 65 74 5f 77 6f 72 64 28 |(len = g|et_word(|
|00000d40| 73 74 72 2c 20 30 2c 20 | 66 69 65 6c 64 2c 20 73 |str, 0, |field, s|
|00000d50| 69 7a 65 6f 66 28 66 69 | 65 6c 64 29 29 29 20 3c |izeof(fi|eld))) <|
|00000d60| 20 30 29 0a 09 67 6f 74 | 6f 20 66 61 69 6c 65 64 | 0)..got|o failed|
|00000d70| 3b 0a 20 20 20 20 69 66 | 20 28 63 76 74 5f 64 61 |;. if| (cvt_da|
|00000d80| 79 6e 61 6d 65 5f 74 6f | 5f 64 61 79 6e 75 6d 28 |yname_to|_daynum(|
|00000d90| 66 69 65 6c 64 2c 20 26 | 69 29 29 0a 09 73 74 72 |field, &|i))..str|
|00000da0| 20 2b 3d 20 6c 65 6e 3b | 0a 0a 20 20 20 20 2f 2a | += len;|.. /*|
|00000db0| 0a 20 20 20 20 20 2a 20 | 50 65 65 6b 20 61 74 20 |. * |Peek at |
|00000dc0| 74 68 65 20 6e 65 78 74 | 20 63 68 61 72 61 63 74 |the next| charact|
|00000dd0| 65 72 20 74 6f 20 64 65 | 74 65 72 6d 69 6e 65 20 |er to de|termine |
|00000de0| 77 68 61 74 20 66 6f 72 | 6d 61 74 20 74 6f 0a 20 |what for|mat to. |
|00000df0| 20 20 20 20 2a 20 70 61 | 72 73 65 20 74 68 65 20 | * pa|rse the |
|00000e00| 72 65 73 74 20 6f 66 20 | 74 68 65 20 6c 69 6e 65 |rest of |the line|
|00000e10| 20 61 73 2e 0a 20 20 20 | 20 20 2a 2f 0a 20 20 20 | as.. | */. |
|00000e20| 20 77 68 69 6c 65 20 28 | 69 73 73 70 61 63 65 28 | while (|isspace(|
|00000e30| 2a 73 74 72 29 29 0a 09 | 2b 2b 73 74 72 3b 0a 20 |*str))..|++str;. |
|00000e40| 20 20 20 69 66 20 28 21 | 69 73 64 69 67 69 74 28 | if (!|isdigit(|
|00000e50| 2a 73 74 72 29 29 20 7b | 0a 0a 09 2f 2a 0a 09 20 |*str)) {|.../*.. |
|00000e60| 2a 20 50 61 72 73 65 20 | 74 68 65 20 6c 69 6e 65 |* Parse |the line|
|00000e70| 20 69 6e 20 55 6e 69 78 | 20 64 61 74 65 28 31 29 | in Unix| date(1)|
|00000e80| 20 66 6f 72 6d 61 74 2e | 20 20 54 68 65 20 73 79 | format.| The sy|
|00000e90| 6e 74 61 78 20 69 73 3a | 0a 09 20 2a 0a 09 20 2a |ntax is:|.. *.. *|
|00000ea0| 09 6d 6f 6e 74 68 20 64 | 61 79 20 68 68 3a 6d 6d |.month d|ay hh:mm|
|00000eb0| 3a 73 73 20 5b 74 7a 5d | 20 79 65 61 72 0a 09 20 |:ss [tz]| year.. |
|00000ec0| 2a 0a 09 20 2a 20 65 2e | 67 2e 20 22 4a 75 6e 20 |*.. * e.|g. "Jun |
|00000ed0| 32 31 20 30 36 3a 34 35 | 3a 34 34 20 43 44 54 20 |21 06:45|:44 CDT |
|00000ee0| 31 39 38 39 22 2e 20 20 | 54 68 65 20 74 69 6d 65 |1989". |The time|
|00000ef0| 7a 6f 6e 65 20 69 73 20 | 6f 70 74 69 6f 6e 61 6c |zone is |optional|
|00000f00| 2e 0a 09 20 2a 2f 0a 0a | 09 2f 2f 64 70 72 69 6e |... */..|.//dprin|
|00000f10| 74 28 37 2c 20 28 73 74 | 64 65 72 72 2c 22 70 61 |t(7, (st|derr,"pa|
|00000f20| 72 73 65 5f 61 72 70 61 | 5f 64 61 74 65 20 70 61 |rse_arpa|_date pa|
|00000f30| 72 73 69 6e 67 20 5c 22 | 25 73 5c 22 20 69 6e 20 |rsing \"|%s\" in |
|00000f40| 74 69 6d 65 28 31 29 20 | 66 6f 72 6d 61 74 5c 6e |time(1) |format\n|
|00000f50| 22 2c 20 73 74 72 29 29 | 3b 0a 0a 09 2f 2a 20 3c |", str))|;.../* <|
|00000f60| 6d 6f 6e 74 68 3e 20 2a | 2f 0a 09 69 66 20 28 28 |month> *|/..if ((|
|00000f70| 6c 65 6e 20 3d 20 67 65 | 74 5f 77 6f 72 64 28 73 |len = ge|t_word(s|
|00000f80| 74 72 2c 20 30 2c 20 66 | 69 65 6c 64 2c 20 73 69 |tr, 0, f|ield, si|
|00000f90| 7a 65 6f 66 28 66 69 65 | 6c 64 29 29 29 20 3c 20 |zeof(fie|ld))) < |
|00000fa0| 30 20 7c 7c 0a 09 09 21 | 63 76 74 5f 6d 6f 6e 74 |0 ||...!|cvt_mont|
|00000fb0| 68 6e 61 6d 65 5f 74 6f | 5f 6d 6f 6e 74 68 6e 75 |hname_to|_monthnu|
|00000fc0| 6d 28 66 69 65 6c 64 2c | 20 26 6d 6f 6e 74 68 29 |m(field,| &month)|
|00000fd0| 29 0a 09 20 20 20 20 67 | 6f 74 6f 20 66 61 69 6c |).. g|oto fail|
|00000fe0| 65 64 3b 0a 09 73 74 72 | 20 2b 3d 20 6c 65 6e 3b |ed;..str| += len;|
|00000ff0| 0a 0a 09 2f 2a 20 3c 64 | 61 79 3e 20 2a 2f 0a 09 |.../* <d|ay> */..|
|00001000| 69 66 20 28 28 6c 65 6e | 20 3d 20 67 65 74 5f 77 |if ((len| = get_w|
|00001010| 6f 72 64 28 73 74 72 2c | 20 30 2c 20 66 69 65 6c |ord(str,| 0, fiel|
|00001020| 64 2c 20 73 69 7a 65 6f | 66 28 66 69 65 6c 64 29 |d, sizeo|f(field)|
|00001030| 29 29 20 3c 20 30 20 7c | 7c 0a 09 09 28 64 61 79 |)) < 0 |||...(day|
|00001040| 20 3d 20 61 74 6f 6e 75 | 6d 28 66 69 65 6c 64 29 | = atonu|m(field)|
|00001050| 29 20 3c 20 30 29 0a 09 | 20 20 20 20 67 6f 74 6f |) < 0)..| goto|
|00001060| 20 66 61 69 6c 65 64 3b | 0a 09 73 74 72 20 2b 3d | failed;|..str +=|
|00001070| 20 6c 65 6e 3b 0a 0a 09 | 2f 2a 20 3c 68 68 3a 6d | len;...|/* <hh:m|
|00001080| 6d 3a 73 73 3e 20 2a 2f | 0a 09 69 66 20 28 28 6c |m:ss> */|..if ((l|
|00001090| 65 6e 20 3d 20 67 65 74 | 5f 77 6f 72 64 28 73 74 |en = get|_word(st|
|000010a0| 72 2c 20 30 2c 20 66 69 | 65 6c 64 2c 20 73 69 7a |r, 0, fi|eld, siz|
|000010b0| 65 6f 66 28 66 69 65 6c | 64 29 29 29 20 3c 20 30 |eof(fiel|d))) < 0|
|000010c0| 20 7c 7c 0a 09 09 21 63 | 76 74 5f 74 69 6d 65 73 | ||...!c|vt_times|
|000010d0| 74 72 5f 74 6f 5f 68 68 | 6d 6d 73 73 28 66 69 65 |tr_to_hh|mmss(fie|
|000010e0| 6c 64 2c 20 26 68 6f 75 | 72 73 2c 20 26 6d 69 6e |ld, &hou|rs, &min|
|000010f0| 73 2c 20 26 73 65 63 73 | 29 29 0a 09 20 20 20 20 |s, &secs|)).. |
|00001100| 67 6f 74 6f 20 66 61 69 | 6c 65 64 3b 0a 09 73 74 |goto fai|led;..st|
|00001110| 72 20 2b 3d 20 6c 65 6e | 3b 0a 0a 09 2f 2a 20 6f |r += len|;.../* o|
|00001120| 70 74 69 6f 6e 61 6c 20 | 3c 74 7a 3e 20 2a 2f 0a |ptional |<tz> */.|
|00001130| 09 73 61 76 65 5f 74 7a | 5b 30 5d 20 3d 20 73 61 |.save_tz|[0] = sa|
|00001140| 76 65 5f 74 7a 5b 31 5d | 20 3d 20 27 5c 30 27 3b |ve_tz[1]| = '\0';|
|00001150| 0a 09 74 7a 20 3d 20 30 | 3b 0a 09 77 68 69 6c 65 |..tz = 0|;..while|
|00001160| 20 28 28 6c 65 6e 20 3d | 20 67 65 74 5f 77 6f 72 | ((len =| get_wor|
|00001170| 64 28 73 74 72 2c 20 30 | 2c 20 66 69 65 6c 64 2c |d(str, 0|, field,|
|00001180| 20 73 69 7a 65 6f 66 28 | 66 69 65 6c 64 29 29 29 | sizeof(|field)))|
|00001190| 20 3e 20 30 20 26 26 0a | 09 09 63 76 74 5f 74 69 | > 0 &&.|..cvt_ti|
|000011a0| 6d 65 7a 6f 6e 65 5f 74 | 6f 5f 6f 66 66 73 65 74 |mezone_t|o_offset|
|000011b0| 28 66 69 65 6c 64 2c 20 | 26 69 29 29 20 7b 0a 09 |(field, |&i)) {..|
|000011c0| 20 20 20 20 28 76 6f 69 | 64 29 20 73 74 72 63 61 | (voi|d) strca|
|000011d0| 74 28 73 61 76 65 5f 74 | 7a 2c 20 22 20 22 29 3b |t(save_t|z, " ");|
|000011e0| 0a 09 20 20 20 20 28 76 | 6f 69 64 29 20 73 74 72 |.. (v|oid) str|
|000011f0| 63 61 74 28 73 61 76 65 | 5f 74 7a 2c 20 66 69 65 |cat(save|_tz, fie|
|00001200| 6c 64 29 3b 0a 09 20 20 | 20 20 74 7a 20 2b 3d 20 |ld);.. | tz += |
|00001210| 69 3b 0a 09 20 20 20 20 | 73 74 72 20 2b 3d 20 6c |i;.. |str += l|
|00001220| 65 6e 3b 0a 09 7d 0a 0a | 09 2f 2a 20 3c 79 65 61 |en;..}..|./* <yea|
|00001230| 72 3e 20 2a 2f 0a 09 69 | 66 20 28 28 6c 65 6e 20 |r> */..i|f ((len |
|00001240| 3d 20 67 65 74 5f 77 6f | 72 64 28 73 74 72 2c 20 |= get_wo|rd(str, |
|00001250| 30 2c 20 66 69 65 6c 64 | 2c 20 73 69 7a 65 6f 66 |0, field|, sizeof|
|00001260| 28 66 69 65 6c 64 29 29 | 29 20 3c 20 30 20 7c 7c |(field))|) < 0 |||
|00001270| 0a 09 09 28 79 65 61 72 | 20 3d 20 61 74 6f 6e 75 |...(year| = atonu|
|00001280| 6d 28 66 69 65 6c 64 29 | 29 20 3c 20 30 29 0a 09 |m(field)|) < 0)..|
|00001290| 20 20 20 20 67 6f 74 6f | 20 66 61 69 6c 65 64 3b | goto| failed;|
|000012a0| 0a 09 73 74 72 20 2b 3d | 20 6c 65 6e 3b 0a 0a 09 |..str +=| len;...|
|000012b0| 2f 2a 20 74 68 65 72 65 | 20 6d 69 67 68 74 20 62 |/* there| might b|
|000012c0| 65 20 6d 6f 72 65 2e 2e | 2e 62 75 74 20 77 65 20 |e more..|.but we |
|000012d0| 69 67 6e 6f 72 65 20 69 | 74 20 2a 2f 0a 0a 20 20 |ignore i|t */.. |
|000012e0| 20 20 7d 20 65 6c 73 65 | 20 7b 0a 0a 09 2f 2a 0a | } else| {.../*.|
|000012f0| 09 20 2a 20 50 61 72 73 | 65 20 74 68 65 20 6c 69 |. * Pars|e the li|
|00001300| 6e 65 20 69 6e 20 52 46 | 43 2d 38 32 32 20 66 6f |ne in RF|C-822 fo|
|00001310| 72 6d 61 74 2e 20 20 54 | 68 65 20 73 79 6e 74 61 |rmat. T|he synta|
|00001320| 78 20 69 73 3a 0a 09 20 | 2a 0a 09 20 2a 09 64 61 |x is:.. |*.. *.da|
|00001330| 79 20 6d 6f 6e 74 68 20 | 79 65 61 72 20 68 68 3a |y month |year hh:|
|00001340| 6d 6d 3a 73 73 20 7a 6f | 6e 65 0a 09 20 2a 0a 09 |mm:ss zo|ne.. *..|
|00001350| 20 2a 20 65 2e 67 2e 20 | 22 31 37 20 4e 6f 76 20 | * e.g. |"17 Nov |
|00001360| 39 32 20 32 33 3a 33 34 | 3a 32 35 20 43 53 54 22 |92 23:34|:25 CST"|
|00001370| 2e 0a 09 20 2a 2f 0a 0a | 09 2f 2f 64 70 72 69 6e |... */..|.//dprin|
|00001380| 74 28 37 2c 20 28 73 74 | 64 65 72 72 2c 22 70 61 |t(7, (st|derr,"pa|
|00001390| 72 73 65 5f 61 72 70 61 | 5f 64 61 74 65 20 70 61 |rse_arpa|_date pa|
|000013a0| 72 73 69 6e 67 20 5c 22 | 25 73 5c 22 20 69 6e 20 |rsing \"|%s\" in |
|000013b0| 52 46 43 2d 38 32 32 20 | 66 6f 72 6d 61 74 5c 6e |RFC-822 |format\n|
|000013c0| 22 2c 20 73 74 72 29 29 | 3b 0a 0a 09 2f 2a 20 3c |", str))|;.../* <|
|000013d0| 64 61 79 3e 20 2a 2f 0a | 09 69 66 20 28 28 6c 65 |day> */.|.if ((le|
|000013e0| 6e 20 3d 20 67 65 74 5f | 77 6f 72 64 28 73 74 72 |n = get_|word(str|
|000013f0| 2c 20 30 2c 20 66 69 65 | 6c 64 2c 20 73 69 7a 65 |, 0, fie|ld, size|
|00001400| 6f 66 28 66 69 65 6c 64 | 29 29 29 20 3c 20 30 20 |of(field|))) < 0 |
|00001410| 7c 7c 0a 09 09 28 64 61 | 79 20 3d 20 61 74 6f 6e |||...(da|y = aton|
|00001420| 75 6d 28 66 69 65 6c 64 | 29 29 20 3c 20 30 29 0a |um(field|)) < 0).|
|00001430| 09 20 20 20 20 67 6f 74 | 6f 20 66 61 69 6c 65 64 |. got|o failed|
|00001440| 3b 0a 09 73 74 72 20 2b | 3d 20 6c 65 6e 3b 0a 0a |;..str +|= len;..|
|00001450| 09 2f 2a 20 3c 6d 6f 6e | 74 68 3e 20 2a 2f 0a 09 |./* <mon|th> */..|
|00001460| 69 66 20 28 28 6c 65 6e | 20 3d 20 67 65 74 5f 77 |if ((len| = get_w|
|00001470| 6f 72 64 28 73 74 72 2c | 20 30 2c 20 66 69 65 6c |ord(str,| 0, fiel|
|00001480| 64 2c 20 73 69 7a 65 6f | 66 28 66 69 65 6c 64 29 |d, sizeo|f(field)|
|00001490| 29 29 20 3c 20 30 20 7c | 7c 0a 09 09 21 63 76 74 |)) < 0 |||...!cvt|
|000014a0| 5f 6d 6f 6e 74 68 6e 61 | 6d 65 5f 74 6f 5f 6d 6f |_monthna|me_to_mo|
|000014b0| 6e 74 68 6e 75 6d 28 66 | 69 65 6c 64 2c 20 26 6d |nthnum(f|ield, &m|
|000014c0| 6f 6e 74 68 29 29 0a 09 | 20 20 20 20 67 6f 74 6f |onth))..| goto|
|000014d0| 20 66 61 69 6c 65 64 3b | 0a 09 73 74 72 20 2b 3d | failed;|..str +=|
|000014e0| 20 6c 65 6e 3b 0a 0a 09 | 2f 2a 20 3c 79 65 61 72 | len;...|/* <year|
|000014f0| 3e 20 2a 2f 0a 09 69 66 | 20 28 28 6c 65 6e 20 3d |> */..if| ((len =|
|00001500| 20 67 65 74 5f 77 6f 72 | 64 28 73 74 72 2c 20 30 | get_wor|d(str, 0|
|00001510| 2c 20 66 69 65 6c 64 2c | 20 73 69 7a 65 6f 66 28 |, field,| sizeof(|
|00001520| 66 69 65 6c 64 29 29 29 | 20 3c 20 30 20 7c 7c 0a |field)))| < 0 ||.|
|00001530| 09 09 21 63 76 74 5f 79 | 65 61 72 73 74 72 5f 74 |..!cvt_y|earstr_t|
|00001540| 6f 5f 79 65 61 72 6e 75 | 6d 28 66 69 65 6c 64 2c |o_yearnu|m(field,|
|00001550| 20 26 79 65 61 72 29 29 | 0a 09 20 20 20 20 67 6f | &year))|.. go|
|00001560| 74 6f 20 66 61 69 6c 65 | 64 3b 0a 09 73 74 72 20 |to faile|d;..str |
|00001570| 2b 3d 20 6c 65 6e 3b 0a | 0a 09 2f 2a 20 3c 68 68 |+= len;.|../* <hh|
|00001580| 3a 6d 6d 3a 73 73 3e 20 | 2a 2f 0a 09 69 66 20 28 |:mm:ss> |*/..if (|
|00001590| 28 6c 65 6e 20 3d 20 67 | 65 74 5f 77 6f 72 64 28 |(len = g|et_word(|
|000015a0| 73 74 72 2c 20 30 2c 20 | 66 69 65 6c 64 2c 20 73 |str, 0, |field, s|
|000015b0| 69 7a 65 6f 66 28 66 69 | 65 6c 64 29 29 29 20 3c |izeof(fi|eld))) <|
|000015c0| 20 30 20 7c 7c 0a 09 09 | 21 63 76 74 5f 74 69 6d | 0 ||...|!cvt_tim|
|000015d0| 65 73 74 72 5f 74 6f 5f | 68 68 6d 6d 73 73 28 66 |estr_to_|hhmmss(f|
|000015e0| 69 65 6c 64 2c 20 26 68 | 6f 75 72 73 2c 20 26 6d |ield, &h|ours, &m|
|000015f0| 69 6e 73 2c 20 26 73 65 | 63 73 29 29 0a 09 20 20 |ins, &se|cs)).. |
|00001600| 20 20 67 6f 74 6f 20 66 | 61 69 6c 65 64 3b 0a 09 | goto f|ailed;..|
|00001610| 73 74 72 20 2b 3d 20 6c | 65 6e 3b 0a 0a 09 2f 2a |str += l|en;.../*|
|00001620| 20 3c 74 7a 3e 20 2d 20 | 73 69 6c 65 6e 74 6c 79 | <tz> - |silently|
|00001630| 20 69 67 6e 6f 72 65 20 | 62 6f 67 75 73 20 6f 72 | ignore |bogus or|
|00001640| 20 6d 69 73 73 69 6e 67 | 20 74 69 6d 65 7a 6f 6e | missing| timezon|
|00001650| 65 73 20 2a 2f 0a 09 73 | 61 76 65 5f 74 7a 5b 30 |es */..s|ave_tz[0|
|00001660| 5d 20 3d 20 73 61 76 65 | 5f 74 7a 5b 31 5d 20 3d |] = save|_tz[1] =|
|00001670| 20 27 5c 30 27 3b 0a 09 | 74 7a 20 3d 20 30 3b 0a | '\0';..|tz = 0;.|
|00001680| 09 77 68 69 6c 65 20 28 | 28 6c 65 6e 20 3d 20 67 |.while (|(len = g|
|00001690| 65 74 5f 77 6f 72 64 28 | 73 74 72 2c 20 30 2c 20 |et_word(|str, 0, |
|000016a0| 66 69 65 6c 64 2c 20 73 | 69 7a 65 6f 66 28 66 69 |field, s|izeof(fi|
|000016b0| 65 6c 64 29 29 29 20 3e | 20 30 20 26 26 0a 09 09 |eld))) >| 0 &&...|
|000016c0| 63 76 74 5f 74 69 6d 65 | 7a 6f 6e 65 5f 74 6f 5f |cvt_time|zone_to_|
|000016d0| 6f 66 66 73 65 74 28 66 | 69 65 6c 64 2c 20 26 69 |offset(f|ield, &i|
|000016e0| 29 29 20 7b 0a 09 20 20 | 20 20 28 76 6f 69 64 29 |)) {.. | (void)|
|000016f0| 20 73 74 72 63 61 74 28 | 73 61 76 65 5f 74 7a 2c | strcat(|save_tz,|
|00001700| 20 22 20 22 29 3b 0a 09 | 20 20 20 20 28 76 6f 69 | " ");..| (voi|
|00001710| 64 29 20 73 74 72 63 61 | 74 28 73 61 76 65 5f 74 |d) strca|t(save_t|
|00001720| 7a 2c 20 66 69 65 6c 64 | 29 3b 0a 09 20 20 20 20 |z, field|);.. |
|00001730| 74 7a 20 2b 3d 20 69 3b | 0a 09 20 20 20 20 73 74 |tz += i;|.. st|
|00001740| 72 20 2b 3d 20 6c 65 6e | 3b 0a 09 7d 0a 0a 09 2f |r += len|;..}.../|
|00001750| 2a 20 74 68 65 72 65 20 | 6d 69 67 68 74 20 62 65 |* there |might be|
|00001760| 20 6d 6f 72 65 2e 2e 2e | 62 75 74 20 77 65 20 69 | more...|but we i|
|00001770| 67 6e 6f 72 65 20 69 74 | 20 2a 2f 0a 0a 20 20 20 |gnore it| */.. |
|00001780| 20 7d 0a 0a 20 20 20 20 | 73 74 72 66 63 70 79 28 | }.. |strfcpy(|
|00001790| 65 6e 74 72 79 2d 3e 74 | 69 6d 65 5f 7a 6f 6e 65 |entry->t|ime_zone|
|000017a0| 2c 20 73 61 76 65 5f 74 | 7a 2b 31 2c 20 73 69 7a |, save_t|z+1, siz|
|000017b0| 65 6f 66 28 65 6e 74 72 | 79 2d 3e 74 69 6d 65 5f |eof(entr|y->time_|
|000017c0| 7a 6f 6e 65 29 29 3b 0a | 20 20 20 20 65 6e 74 72 |zone));.| entr|
|000017d0| 79 2d 3e 74 7a 5f 6f 66 | 66 73 65 74 20 3d 20 74 |y->tz_of|fset = t|
|000017e0| 7a 2a 36 30 3b 0a 20 20 | 20 20 65 6e 74 72 79 2d |z*60;. | entry-|
|000017f0| 3e 74 69 6d 65 5f 73 65 | 6e 74 20 3d 20 6d 61 6b |>time_se|nt = mak|
|00001800| 65 5f 67 6d 74 74 69 6d | 65 28 79 65 61 72 2c 20 |e_gmttim|e(year, |
|00001810| 6d 6f 6e 74 68 2c 20 64 | 61 79 2c 20 68 6f 75 72 |month, d|ay, hour|
|00001820| 73 2c 20 6d 69 6e 73 2d | 74 7a 2c 20 73 65 63 73 |s, mins-|tz, secs|
|00001830| 29 3b 0a 0a 20 20 20 20 | 2f 2f 64 70 72 69 6e 74 |);.. |//dprint|
|00001840| 28 37 2c 20 28 73 74 64 | 65 72 72 2c 20 22 20 20 |(7, (std|err, " |
|00001850| 79 65 61 72 3d 25 64 20 | 6d 6f 6e 74 68 3d 25 64 |year=%d |month=%d|
|00001860| 20 64 61 79 3d 25 64 5c | 6e 22 2c 20 79 65 61 72 | day=%d\|n", year|
|00001870| 2c 20 6d 6f 6e 74 68 2c | 20 64 61 79 29 29 3b 0a |, month,| day));.|
|00001880| 20 20 20 20 2f 2f 64 70 | 72 69 6e 74 28 37 2c 20 | //dp|rint(7, |
|00001890| 28 73 74 64 65 72 72 2c | 20 22 20 20 68 6f 75 72 |(stderr,| " hour|
|000018a0| 73 3d 25 64 20 6d 69 6e | 73 3d 25 64 20 73 65 63 |s=%d min|s=%d sec|
|000018b0| 73 3d 25 64 20 74 7a 3d | 25 64 5c 6e 22 2c 0a 20 |s=%d tz=|%d\n",. |
|000018c0| 20 20 20 2f 2f 09 68 6f | 75 72 73 2c 20 6d 69 6e | //.ho|urs, min|
|000018d0| 73 2c 20 73 65 63 73 2c | 20 74 7a 29 29 3b 0a 20 |s, secs,| tz));. |
|000018e0| 20 20 20 2f 2f 64 70 72 | 69 6e 74 28 37 2c 20 28 | //dpr|int(7, (|
|000018f0| 73 74 64 65 72 72 2c 20 | 22 20 20 72 65 74 75 72 |stderr, |" retur|
|00001900| 6e 20 73 75 63 63 65 73 | 73 5c 6e 22 29 29 3b 0a |n succes|s\n"));.|
|00001910| 20 20 20 20 72 65 74 75 | 72 6e 20 54 52 55 45 3b | retu|rn TRUE;|
|00001920| 0a 0a 66 61 69 6c 65 64 | 3a 0a 20 20 20 20 2f 2f |..failed|:. //|
|00001930| 64 70 72 69 6e 74 28 34 | 2c 20 28 73 74 64 65 72 |dprint(4|, (stder|
|00001940| 72 2c 20 22 70 61 72 73 | 65 5f 61 72 70 61 5f 64 |r, "pars|e_arpa_d|
|00001950| 61 74 65 20 66 61 69 6c | 65 64 20 61 74 20 5c 22 |ate fail|ed at \"|
|00001960| 25 73 5c 22 5c 6e 22 2c | 0a 20 20 20 20 2f 2f 09 |%s\"\n",|. //.|
|00001970| 28 6c 65 6e 20 3c 3d 20 | 30 20 3f 20 22 3c 70 72 |(len <= |0 ? "<pr|
|00001980| 65 6d 61 74 75 72 65 20 | 65 6f 6c 3e 22 20 3a 20 |emature |eol>" : |
|00001990| 66 69 65 6c 64 29 29 29 | 3b 0a 20 20 20 20 72 65 |field)))|;. re|
|000019a0| 74 75 72 6e 20 46 41 4c | 53 45 3b 0a 7d 0a 0a 2f |turn FAL|SE;.}../|
|000019b0| 2f 69 6e 74 20 64 65 62 | 75 67 20 3d 20 39 39 39 |/int deb|ug = 999|
|000019c0| 39 3b 0a 2f 2a 20 20 6d | 61 69 6e 28 29 20 2a 2f |9;./* m|ain() */|
|000019d0| 0a 2f 2a 20 20 7b 20 2a | 2f 0a 2f 2a 20 20 20 20 |./* { *|/./* |
|000019e0| 20 20 73 74 72 75 63 74 | 20 68 65 61 64 65 72 5f | struct| header_|
|000019f0| 72 65 63 20 68 64 72 3b | 20 2a 2f 0a 2f 2a 20 20 |rec hdr;| */./* |
|00001a00| 20 20 20 20 63 68 61 72 | 20 62 75 66 5b 31 30 32 | char| buf[102|
|00001a10| 34 5d 3b 20 2a 2f 0a 2f | 2a 20 20 20 20 20 20 77 |4]; */./|* w|
|00001a20| 68 69 6c 65 20 28 67 65 | 74 73 28 62 75 66 29 20 |hile (ge|ts(buf) |
|00001a30| 21 3d 20 4e 55 4c 4c 29 | 20 7b 20 2a 2f 0a 2f 2a |!= NULL)| { */./*|
|00001a40| 20 20 09 69 66 20 28 21 | 70 61 72 73 65 5f 61 72 | .if (!|parse_ar|
|00001a50| 70 61 5f 64 61 74 65 28 | 62 75 66 2c 20 26 68 64 |pa_date(|buf, &hd|
|00001a60| 72 29 29 20 2a 2f 0a 2f | 2a 20 20 09 20 20 20 20 |r)) */./|* . |
|00001a70| 66 70 72 69 6e 74 66 28 | 73 74 64 65 72 72 2c 20 |fprintf(|stderr, |
|00001a80| 22 46 41 49 4c 20 25 73 | 5c 6e 22 2c 20 62 75 66 |"FAIL %s|\n", buf|
|00001a90| 29 3b 20 2a 2f 0a 2f 2a | 20 20 09 65 6c 73 65 20 |); */./*| .else |
|00001aa0| 7b 20 2a 2f 0a 2f 2a 20 | 20 09 20 20 20 20 66 70 |{ */./* | . fp|
|00001ab0| 72 69 6e 74 66 28 73 74 | 64 65 72 72 2c 20 22 4f |rintf(st|derr, "O|
|00001ac0| 4b 20 25 73 5c 6e 22 2c | 20 62 75 66 29 3b 20 2a |K %s\n",| buf); *|
|00001ad0| 2f 0a 2f 2a 20 20 09 20 | 20 20 20 66 70 72 69 6e |/./* . | fprin|
|00001ae0| 74 66 28 73 74 64 65 72 | 72 2c 20 22 74 69 6d 65 |tf(stder|r, "time|
|00001af0| 5f 7a 6f 6e 65 3d 25 73 | 20 74 7a 5f 6f 66 66 73 |_zone=%s| tz_offs|
|00001b00| 65 74 3d 25 64 20 74 69 | 6d 65 5f 73 65 6e 74 3d |et=%d ti|me_sent=|
|00001b10| 25 6c 64 5c 6e 22 2c 20 | 2a 2f 0a 2f 2a 20 20 09 |%ld\n", |*/./* .|
|00001b20| 09 68 64 72 2e 74 69 6d | 65 5f 7a 6f 6e 65 2c 20 |.hdr.tim|e_zone, |
|00001b30| 68 64 72 2e 74 7a 5f 6f | 66 66 73 65 74 2c 20 68 |hdr.tz_o|ffset, h|
|00001b40| 64 72 2e 74 69 6d 65 5f | 73 65 6e 74 29 3b 20 2a |dr.time_|sent); *|
|00001b50| 2f 0a 2f 2a 20 20 09 7d | 20 2a 2f 0a 2f 2a 20 20 |/./* .}| */./* |
|00001b60| 09 70 75 74 63 28 27 5c | 6e 27 2c 20 73 74 64 65 |.putc('\|n', stde|
|00001b70| 72 72 29 3b 20 2a 2f 0a | 2f 2a 20 20 20 20 20 20 |rr); */.|/* |
|00001b80| 7d 20 2a 2f 0a 2f 2a 20 | 20 20 20 20 20 65 78 69 |} */./* | exi|
|00001b90| 74 28 30 29 3b 20 2a 2f | 0a 2f 2a 20 20 7d 20 2a |t(0); */|./* } *|
|00001ba0| 2f 0a 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |/.......|........|
|00001bb0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001bc0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001bd0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001be0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001bf0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001c00| 00 00 01 00 00 00 01 00 | 00 00 00 00 00 00 00 1e |........|........|
|00001c10| 54 68 69 73 20 72 65 73 | 6f 75 72 63 65 20 66 6f |This res|ource fo|
|00001c20| 72 6b 20 69 6e 74 65 6e | 74 69 6f 6e 61 6c 6c 79 |rk inten|tionally|
|00001c30| 20 6c 65 66 74 20 62 6c | 61 6e 6b 20 20 20 00 00 | left bl|ank ..|
|00001c40| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001c50| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001c60| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001c70| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001c80| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001c90| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001ca0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001cb0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001cc0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001cd0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001ce0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001cf0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001d00| 00 00 01 00 00 00 01 00 | 00 00 00 00 00 00 00 1e |........|........|
|00001d10| 00 00 00 00 00 00 00 00 | 00 1c 00 1e ff ff 00 00 |........|........|
|00001d20| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001d30| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001d40| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001d50| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001d60| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001d70| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
+--------+-------------------------+-------------------------+--------+--------+